Skip to content

dgb: aux-parent coinbase serialization parity baseline KAT (D0) - #298

Merged
frstrtr merged 1 commit into
masterfrom
dgb/aux-parent-coinbase-parity-baseline
Jun 21, 2026
Merged

dgb: aux-parent coinbase serialization parity baseline KAT (D0)#298
frstrtr merged 1 commit into
masterfrom
dgb/aux-parent-coinbase-parity-baseline

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 21, 2026

Copy link
Copy Markdown
Owner

What

Freezes the pre-templating wire image of the shared doge::coin::CMerkleTx (the parent-coinbase carrier) as a golden KAT, and asserts the cross-type byte-identity invariant the v36-standardize Scrypt value-type extraction depends on.

  • LtcTypedMemberPayloadGolden — witness-stripped parent coinbase (real member type ltc::coin::MutableTransaction).
  • LtcVsDgbTypeByteIdentical — same canonical coinbase serialized through ltc::coin::MutableTransaction and dgb::coin::MutableTransaction produces byte-identical witness-stripped bytes. Both extend bitcoin_family::coin::base_transaction; this is exactly what the extraction must preserve when the m_tx member type is lifted to a neutral Scrypt-family base.
  • MerkleTxWireGoldenAnchored — full CMerkleTx wire image, anchored to master HEAD f732061bc.
  • MerkleTxRoundTripStable — Unserialize -> reserialize stability.

Scope / safety

Test-only, fenced to src/impl/dgb/. Consumes the shared aux module (src/impl/doge/coin/auxpow.hpp, ltc-doge domain) and modifies nothing. No consensus-value change. Registered in both src/impl/dgb/test/CMakeLists.txt and the build.yml --target allowlist (no NOT_BUILT sentinel).

Golden anchored to current master HEAD; a later rebase that re-shapes the serializer trips the test rather than silently shifting the golden. No cross-coin serialization divergence observed at the anchor.

4/4 green locally.

Freezes the pre-templating wire image of the shared doge::coin::CMerkleTx
(parent-coinbase carrier) so the v36-standardize Scrypt value-type
extraction can prove its m_tx type swap is byte-neutral. Asserts the
cross-type invariant directly: ltc::coin::MutableTransaction and
dgb::coin::MutableTransaction serialize the parent coinbase
byte-identically (both extend bitcoin_family::coin::base_transaction).

Test-only, fenced to src/impl/dgb/; CONSUMES the shared aux module,
modifies nothing. Golden anchored to master HEAD f732061; a later
rebase that re-shapes the serializer trips the test rather than silently
shifting the golden. 4/4 green. Registered in both test/CMakeLists.txt
and the build.yml --target allowlist.
@frstrtr
frstrtr force-pushed the dgb/aux-parent-coinbase-parity-baseline branch from 26783ea to 2356967 Compare June 21, 2026 17:47
@frstrtr
frstrtr merged commit e2a563c into master Jun 21, 2026
30 checks passed
frstrtr added a commit that referenced this pull request Jun 23, 2026
…aseline

dgb: aux-parent coinbase serialization parity baseline KAT (D0)
frstrtr added a commit that referenced this pull request Jun 23, 2026
Commit b4126e8 (#271 merge) landed unresolved git conflict markers
(<<<<<<< / ======= / >>>>>>>) inside the Build tests --target allowlist
at both the Release and ASan+UBSan jobs, breaking the cmake --build line
and turning the build.yml workflow red on master since that merge.

Both conflict sides are dgb test targets; resolve as the token union:
keep dgb_aux_parent_coinbase_parity_test (#298) AND add the
dgb_template_capture_test (#271) target. Drift-guard passes (59 targets);
YAML parses; diff fenced to .github/workflows/build.yml only.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant